package com.panda.web.service.order;

import com.panda.common.core.domain.AjaxResult;
import com.panda.web.domain.vo.OrderCount;
import com.panda.web.entity.order.WechatOrder;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.panda.web.entity.order.WechatOrder;
import com.panda.web.excel.domain.OrderExcel;
import com.panda.web.utils.pageutils.PageResult;
import com.panda.web.domain.dto.OrderDTO;
import com.panda.web.domain.vo.OrderVO;
import com.panda.web.utils.payutils.WXRefundOrderRespVO;
import com.wechat.pay.java.service.refund.model.Refund;

import javax.servlet.http.HttpServletRequest;
import javax.xml.transform.Result;


/**
 * 微信支付订单Service接口
 * 
 * @author cpanda
 * @date 2025-02-27
 */
public interface IWechatOrderService extends IService<WechatOrder> {

    Map<String, String> createOrder(WechatOrder order) throws Exception;

    //分页查询
    PageResult<OrderVO> PageList(OrderDTO dto, Integer pageNum, Integer pageSize);
    //无分页查询
    List<OrderVO> choiceList(OrderDTO dto);
    //回显数据
    OrderVO selectById(Long orderId);

    //新增
    int insert(OrderDTO dto);
    //修改数据
    int updateOrderById(OrderDTO dto);
    //删除数据（逻辑删除）
    int removeByOrderIds(List<Long> ids);


    int refundOrder(OrderDTO dto);

    int refundNotify(HttpServletRequest request) throws IOException;

    PageResult<OrderVO> refundList(OrderDTO dto, Integer pageNum, Integer pageSize);

    List<OrderExcel> exportList(OrderDTO dto);

    OrderCount getOrderCount(OrderDTO dto);

    PageResult<OrderVO> ListText(OrderDTO dto, Integer pageNum, Integer pageSize);
}
